﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Dialog
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnOpen_Click(object sender, EventArgs e)
        {
            //点击弹出对话框
            var dialog=new OpenFileDialog();
            //设置对话框的属性
            dialog.Title = "请选择要打开的文本文件";//标题
            dialog.Multiselect = true;//支持对话框可以多选
            dialog.InitialDirectory = @"d:\AAA";//打开的默认目录
            dialog.Filter = "文本文件|*.txt";

            //展开对话框
            dialog.ShowDialog();

            //获得选中文件的路径
            var paths = dialog.FileNames;
            if (paths.Length == 0)
            {
                MessageBox.Show("请选择一个文件！");
                return;
            }

            //读取二进制文件，显示在文件
            textBox1.Text = string.Empty;
            foreach (var path in paths)
            {
                using (FileStream fs=new FileStream(path ,FileMode.OpenOrCreate,FileAccess.Read))
                {
                     byte[] buffer=new byte[1024*1024*5];
                     //实际读取的字节数
                     int r = fs.Read(buffer, 0, buffer.Length);
                     textBox1.Text = Encoding.UTF8.GetString(buffer, 0, r);
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //通过对话框选择保存的路径
            //点击弹出对话框
            var dialog = new SaveFileDialog();
            //设置对话框的属性
            dialog.Title = "请选择要保存的路径";//标题
            dialog.InitialDirectory = @"d:\AAA";//打开的默认目录
            dialog.Filter = "文本文件|*.txt";
            dialog.ShowDialog();

            //二进制文件的写入
            var path = dialog.FileName;
            using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
            {
                byte[] buffer = Encoding.UTF8.GetBytes(textBox1.Text);
                fs.Write(buffer,0,buffer.Length);
            }

            MessageBox.Show("保存成功！！");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //选择字体和字号
            var  fd=new FontDialog();
            fd.ShowDialog();
             //把选择好的字体赋值给文本框
            textBox1.Font = fd.Font;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //选择颜色
            var cd=new ColorDialog();
            cd.ShowDialog();
            //把选择好的颜色赋值给文本框
            textBox1.ForeColor = cd.Color;//字体颜色

            //textBox1.BackColor = cd.Color;////背景颜色
        }
    }
}
